iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 6
1

繼上一篇說明完接收各種訊息的方式後
今天就要來說明傳送各種訊息的方式了w
關於LINE的訊息種類可以參考 https://developers.line.biz/zh-hant/docs/messaging-api/message-types/

今天會說明到的訊息傳送方式有

  • Text Message
  • Sticker Message
  • Image Message
  • Video Message
  • Audio Message
  • Location Message

今天的範例code只有修改handle_message,可以到Github查看完整Code喔

純文字訊息(Text)

text_message = TextSendMessage(text='Hello, world')

貼圖訊息(Sticker)

可用的sticker可以參考
資料一
資料二

sticker_message = StickerSendMessage(
    package_id='1',
    sticker_id='1'
)

圖片訊息(Image)

這裡的preview_image_url是圖片的縮圖

image_message = ImageSendMessage(
    original_content_url='https://file-examples-com.github.io/uploads/2017/10/file_example_PNG_500kB.png',
    preview_image_url='https://file-examples-com.github.io/uploads/2017/10/file_example_PNG_500kB.png'
)

影片訊息(Video)

這裡的preview_image_url是影片顯示的縮圖
蠻驚訝的部分是,縮圖居然不是自動產生
也就是即使縮圖和影片內容完全不相干也無所謂w

video_message = VideoSendMessage(
    original_content_url='https://file-examples-com.github.io/uploads/2017/04/file_example_MP4_480_1_5MG.mp4',
    preview_image_url='https://file-examples-com.github.io/uploads/2017/10/file_example_PNG_500kB.png'
)

音訊訊息(Audio)

在測試的過程中突然發現
即使duration設定的時間跟實際音檔的時間長度不同,還是會以實際音檔為主
duration只是會顯示在上面而已

audio_message = AudioSendMessage(
    original_content_url='https://file-examples-com.github.io/uploads/2017/11/file_example_MP3_700KB.mp3',
    duration=3000
)

位置訊息(Location)

latitude 表示緯度
longitude 表示經度

location_message = LocationSendMessage(
    title='my location',
    address='Tokyo',
    latitude=35.65910807942215,
    longitude=139.70372892916203
)

參考資料

line-bot-sdk python

後記

之前我在做LINE BOT的時候有玩過Flex Message,當時我是直接將JSON回傳
原本在看官方API想說都是提供JSON
原以為可以直接回傳JSON,但是一直出錯
雖然還沒找到理由可以解釋,但是姑且就先當作是已知現象記起來好了

各位看這裡,已經有能力回覆絕大部分的基本訊息型態了
當初我在做口罩查詢系統裡面最陽春的做法就是直接回傳店家的Location
不過這樣不太美觀,而且也欠缺實際數量的資訊

在明天,我會跟大家介紹更有趣的訊息回傳方式給各位w
各位就期待一下吧~


上一篇
Day05 接收各種訊息
下一篇
Day07 進階訊息傳送1 - Actions
系列文
LINE BOT 新手村30日攻略30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
arguskao
iT邦新手 4 級 ‧ 2022-12-21 14:44:54

原以為可以直接回傳JSON,但是一直出錯--->後來找到原因了嗎?

Koios iT邦新手 4 級 ‧ 2022-12-22 13:54:50 檢舉

後續倒是沒有繼續尋找原因

我要留言

立即登入留言